The present invention relates generally to manipulation of data within a memory system and, more specifically to digital data processing of pictorial or visual information in which images are stored in digital form, manipulated, and then displayed on a display device as raster images. Data processing devices in which visual information are displayed as raster images have the flexibility to deal with a wide variety of images, including text, characters of various size and shape, graphical data such as lines, curves, and solid areas, as well as photographic images that are approximated by half tones.
Such images can be stored electronically as digital data and can be reproduced on a variety of output devices, including raster-scan display devices such as standard television cathode ray tubes, laser printers, and ink-jet printers. Thus, apparatus dealing with raster images have wide application in fields of word processing, typesetting, drafting, and computer-aided-design.
Typically, raster images are stored in a computer memory on a picture-element by picture-element basis. A memory used in this manner is also known as "bit-map memory" or "frame buffer". As the names imply, for each picture element displayed on the visual display there is a corresponding bit of data stored in the computer memory. Thus there is a one-for-one correspondence between the data contained in the computer memory and the image displayed by the visual display.
The raster display data which form the raster images are written into the computer memory or "frame buffer" under computer control. Often, this writing of information into the frame buffer employs a dedicated computer or "display processor" to generate particular raster images, such as vectors, at high speed. Under these circumstances, the display processor determines, internally, the logic state and location of data in the frame buffer necessary to provide a raster image corresponding, for example, to a vector. Once the logic states and location are decided upon, the display processor transfers this information in a series of write cycles to the frame buffer. After this transfer is completed, the image can then be displayed on the visual display device.
Where a particular raster image is to be super-imposed upon or used to modify an image already contained within the frame buffer, the display processor is often required to first read the data from the frame buffer and then internally modify the data from the frame buffer to form the new image. The new image data must then be written back into the frame buffer. Under the architectures of display processors of the past, this internally generated raster image requires a substantial amount of display processor time. This in turn results in a long response time by the system in updating or generating raster images.
Frame buffers are often organized as a "dual-port-memory" in which one port provides access for the controlling computer system and the other port provides output to a suitable display device, such as a raster scan display, or a scanning printer. With the recent advances in semiconductor technology it has become increasingly economical to build large frame buffer memories achieving a high resolution picture definition. This high resolution picture definition capability further amplifies the shortcomings of past raster image storage and generation systems. As picture definition increases in resolution a substantially greater number of data bits must be processed and stored in a short period of time. The processing time of the display processor then becomes the determinative factor in the speed of the system and in the effectiveness by which the frame buffer is utilized.
The requirement for high speed raster image generation and storage is of even greater importance in so called interactive applications. In these applications an operator receives visual feedback from a frame buffer display in response to instructions which he supplies to the system. As such, it is desirable that the frame buffer memory be updated in a very short time, such as a fraction of a second. Fast raster image generation and modification is also important in laser printer systems which can print images at very high speeds. In order to fully utilize the high speed capability of such printers, it is important that the image generation and modification time be as fast or faster than the printing speed of the laser printer.
The creation of a raster image display typically involves the combining of multiple, predefined raster images, such as character shapes, into the frame buffer for storage and/or display. In the past, this process was performed with a general purpose or a special purpose computer, in software. As such, a substantial amount of computer time was required for such processing. In order to speed up such processing, more expensive high speed computers were often required. In such systems, a read cycle, an internal processing cycle, and a write cycle would be performed by the general purpose computer on the buffer memory. The actual data modification was handled by the central processing unit of the computer. Thus the speed by which the raster images were generated were a direct function of the processing time of the CPU.
It is therefore apparent that in order to provide more efficient raster image processing and storage to compliment the higher resolution picture definition capabilities of present large frame buffer memories, it is important that means be devised for faster access to the frame buffer as well as faster processing of raster image information for storage in the frame buffer.